<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS的event-loop运行机制</title>
	</head>
	<body>
		
		
		
	一、概述：
	        --  任务：同步任务、异步任务（异步任务：微任务和宏任务）。
			--  执行顺序：调用栈（同步任务）--> 微任务-->浏览器渲染-->宏任务（消息队列）	
			--  微任务：Promise.then、async/await、catch、
			--  宏任务：setTimeout、setInterval、DOM事件、ajax请求
			
	二、运行机制描述：
			-- 首先js 是单线程运行，在代码执行的时候，通过将不同函数的执行上下文压入执行栈中来保证代码的有序执行；
			-- 在执行同步代码的时候，如果遇到了异步事件，会将异步代码放到事件循环中，继续执行执行栈中的其他任务；
			-- 当同步事件执行完毕后，再将异步事件对应的回调加入到与当前执行栈中不同的另一个任务队列中等待执行；
			-- 任务队列可以分为宏任务对列和微任务对列，执行栈中的事件执行完毕后，微任务对列中的任务先执行，再执行宏任务对列中的任务。
			
	</body>
</html>
